Matching members with shared interests

ABSTRACT

A “buddy member match” feature is directed to matching computer users of like interests, particularly computer users who are members of an online service provider. In general, a member (the match recipient) may update or create a member profile maintained by a service provider such as AOL. Once the match recipient has a member profile, a search is initiated to identify matching members by comparing the member profile of the match recipient to the member profiles of other members. Matching members are other members whose member profiles have at least one personal attribute matching an attribute of the match recipient&#39;s member profile. When contact information of the matching member is displayed, the contact information is accompanied by an indication that the contact information belongs to a matching member.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part application of and claimspriority to U.S. application Ser. No. 10/330,540, filed on Dec. 30,2002. This application also claims priority under 35 USC § 19(e) to U.S.Provisional Patent Application Ser. No. 60/488,397, filed on Jul. 21,2003, and U.S. Provisional Patent Application Ser. No. 60/426,819, filedon Nov. 18, 2002, the entire contents of which are hereby incorporatedby reference.

TECHNICAL FIELD

This description relates to online computer services.

BACKGROUND

Chat systems provide a way for online users to engage in real-timeconversations. Typically, these systems provide for real-time grouptextual messaging, with the conversational groups defined by “chatrooms.” Chat systems are normally implemented in a distributed computingenvironment.

Chat systems enable real-time communications on various topics by two ormore participants of similar or divergent interests or backgrounds.Typically, chat participants review chat room attributes (e.g., title)to identify chat rooms that may have other participants who share theirinterest and, consequently, will provide interesting conversations.

Chat systems may be part of a larger suite of communication servicesprovided by an online service provider. For example, America Online®(AOL) provides its members with a number of online communicationservices, such as instant messaging (IM), e-mail, and message boards,some of which have particular and peculiar nuances, requirements, andfeatures distinct from chat systems.

SUMMARY

A system includes a “buddy match” feature for identifying one or morematching members for a match recipient. Identifying one or more matchingmembers includes maintaining a member profile for the match recipient,where the member profile includes at least one personal attribute. Thematch recipient's member profile is compared to other member profiles toidentify at least one matching member. A matching member is a user whosemember profile has at least one attribute matching an attribute of thematch recipient's member profile. Contact information for the matchingmember is displayed to the match recipient in a user interface for anonline communication service and the displayed contact information isaccompanied by an indication that the displayed contact informationbelongs to a matching member.

Implementations may include one or more of the following. For example,the contact information may include a screen name. The screen name canbe displayed, e.g., in a buddy list of an instant messaging client or ina post on a message board. The indication may include a coloredhighlight displayed behind the matching member's screen name.

The contact information may be an e-mail address. The e-mail address forthe matching member may be displayed, e.g., in an e-mail mailbox of thematch recipient or in an e-mail header displayed to the match recipient.The indication may include a colored highlight displayed behind thematching member's e-mail address.

The personal attribute may include hobbies.

Intermediary members can be identified. An intermediary member is a userthat connects the match recipient to the matching member. The contactinformation for the intermediary member can be displayed to the matchrecipient along with an indication that the contact information belongsto an intermediary member.

Identifying an intermediary member may include identifying a user whosecontact information is in a contact list of the match recipient;determining whether contact information of the matching member is in acontact list of the user whose contact information is in a contact listof the match recipient; and designating the user as an intermediarymember when the matching member's contact information is in a contactlist of the user.

Implementations of the techniques discussed herein may include hardware,a method or process, or computer software on a computer-accessiblemedium. The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a distributed computing environmentsupporting a chat room service.

FIG. 2 illustrates a screen-shot of a typical chat room, as it wouldappear on a client system.

FIGS. 3A and 3B are a flow chart of a process for implementing a matchchat feature.

FIGS. 4-10 are screen-displays corresponding to steps of the process ofFIGS. 3A and 3B.

FIG. 11 is a screen-display of a promotion screen to encourage users tocreate profiles and to use the match chat feature.

FIG. 12 illustrates a match chat button used to indicate that potentialchat participants have been identified and to cause a chat to beinitiated with the potential chat participants.

FIG. 13 illustrates a companion window for use when a user isparticipating in a chat room.

FIGS. 14A and 14B are illustrations showing a computer desktop with auser interface of an instant messaging client program in which thescreen names of matching members are highlighted.

FIG. 14C is an illustration showing another implementation forindicating a matching member in which matching members are indicated byicons displayed next to the matching members' screen names.

FIG. 14D is an illustration show yet another implementation forindicating matching members in which the buddy list of an instantmessaging program interface is modified to include a Matching Membersbuddy group.

FIG. 15 is an illustration showing an exemplary screen display of a chatroom in which a matching member's screen name is indicated byhighlighting.

FIG. 16 is a flow chart illustrating a process that implements aconnected match feature for a match recipient.

FIG. 17 is an illustration showing an exemplary relationship between amatch recipient, an intermediary member, and a matching member.

FIGS. 18A and 18B are illustrations showing a computer desktop with auser interface of an instant messaging client program in which thescreen name of intermediary members are highlighted.

FIG. 18C is an illustration showing an alternate manner of displaying anindication of an intermediary member that includes modifying the buddylist of an instant messaging program interface to show a tree structureof matching members and the intermediary members.

FIG. 19 is a flow chart showing an alternate process for determiningmatching members.

DETAILED DESCRIPTION

A chat system may include a “match chat” feature that identifiespotential chat participants who share attributes and/or interests with auser who wants to participate in a chat session. In one general aspect,identifying one or more potential chat participants for a first user ofa chat room system includes maintaining a member profile including atleast one personal attribute for the first user. The first user's memberprofile is compared to other member profiles to identify potential chatparticipants. Potential chat participants are other users of the chatroom system whose member profiles have at least one attribute matchingan attribute of the first user's member profile. The first user is sentan indication that potential chat participants have been identified.

A “buddy member match” feature may be directed more to matching computerusers of like interests, particularly computer users who are members ofan online service provider. In general, a member (the match recipient)may update or create a member profile maintained by a service providersuch as AOL. Once the match recipient has a member profile, a search isinitiated to identify matching members by comparing the member profileof the match recipient to the member profiles of other members. Matchingmembers are other members whose member profiles have at least onepersonal attribute matching an attribute of the match recipient's memberprofile. Then, the match recipient is provided with an indication ofmatching members as the match recipient uses various communicationservices provided by the service provider and encounters screen names,e-mail address, or other contact information of matching members. To doso, when the contact information is displayed in the user interface forthe communication service, the contact information is accompanied by anindication that the contact information belongs to a matching member.

Match recipients and matching members may be matched according to anumber of different attributes. For example, the member profiles maycontain attributes, such as, for example, hobbies, occupation, gender,marital status, and location. These attributes then may be compared todetermine whether a match occurs.

The buddy match feature may further have a “connected match” feature. Inthe connected match feature, intermediary members are also identified.Intermediary members are those members who have a personal, business orother relationship with both the match recipient and the matchingmember. To determine whether a member is an intermediary member, one ormore contact lists of the match recipient, intermediary member, and/orthe matching member may be examined. For example, a contact list of thematch recipient may be examined to determine a potential intermediarymember. A contact list of the matching member then may be examined todetermine if the potential intermediary member is on the matchingmember's contact list. If so, the potential intermediary member isdesignated as an intermediary member.

Once intermediary members are identified, the match recipient isprovided with an indication of intermediary members as the matchrecipient uses various communication services provided by the serviceprovider and encounters screen names, e-mail address, or other contactinformation of intermediary members. When intermediary matches areindicated, the match recipient also may be provided with an indicationof the matching member the match recipient is linked to by theintermediary member. Identifying intermediary members may beparticularly useful when no relationship exists between a matchrecipient and matching member because the intermediary may be able tofacilitate an initial contact between the match recipient and matchingmember.

FIG. 1 is a block diagram of a distributed computing environment thatsupports communication services, such as chat services, IM services,e-mail services, and message board services. In this implementation,users are distributed geographically and communicate with a serversystem 100 using client systems 102. In practice, server system 100 mayinclude interconnected server computers that are physically dispersed,rather than a single physical entity. Each server computer may bededicated to a particular function and/or a particular geographicalregion. Each client system 102 runs client communication software thatcommunicates with corresponding server software on server 100. Clientsystems 102 communicate with server 100 through communication mediumsthat may include, for example, a modem connected to a telephone line(using, for example, SLIP or PPP) or a direct internetwork connection(using, for example, TCP/IP). Server system 100 coordinatescommunications by receiving the textual, or other, input sent fromclient systems 102 and replicating that input to other appropriateclient systems 102.

FIG. 2 illustrates a screen display 200 of a typical chat room, as itwould appear on a client system 102. Generally, to be a part of aconversational group, a user joins a chat room. Server system 100 thenreplicates the messages sent to the chat room by the user to other userswho have joined the chat room. The exemplary chat room of FIG. 2 hassixteen participants whose screen names are listed in window 206. Theirconversation 204 is displayed in scrolling window 208, which normallyappears the same for all participants. A participant converses withother participants by typing a line of text in edit box 202 andactivating a send command, for example, by pressing the ENTER key of thekeyboard of the participant's client system 102. In response, theentered text is displayed at the bottom of window 208. All participantsin the chat room can now see the entered text.

A match chat feature enables identification of potential chatparticipants who share attributes and/or interests with a first user.FIGS. 3A and 3B illustrate a flow chart of a procedure 300 forimplementing the match chat feature. FIGS. 3A and 3B will be discussedin conjunction with FIGS. 4-10, which illustrate exemplaryscreen-displays for various steps of the procedure 300.

Generally, in one implementation, a chat server has a membership profiledatabase and a chat front-end to implement the various techniques andprocedures for providing the match chat feature. The membership profiledatabase performs the search functions and notifies the chat front-endwhen potential chat participants have been identified and whatattributes and/or interests have matched. The front-end uses thisinformation to generate the displays presented to the user. Thefront-end also receives input from the user through displays and sendsmessages and information to the membership profile database as needed.For instance, when a user enters a profile using a display provided bythe front-end, the front end forwards the profile to the membershipprofile database for storage. Also, for example, when a user initiates asearch, the front-end receives the request and sends a message to themembership profile database to initiate the search.

Displays, such as those shown in FIGS. 4 and 5A-5C, give users detailsconcerning the match chat feature of the chat system, and the ability tomodify or create their member profiles for the feature. As shown in FIG.4, a display 400 has graphics and text 402 that explain to a user howthe match chat feature works. The display 400 also provides a “try it”button 404 that opens a member profile display. The member profiledisplay allows a member to create or modify his or her profile. Inalternate implementations, display 400 may have a match now button and aseparate link to the member profile display, rather than a try-itbutton. The user can use the link to open the member profile display tocreate or edit the user's profile. When a user actuates the match nowbutton, a determination is made as to whether the user has a memberprofile that has an entry for the particular attribute to be matched(e.g., hobbies). If not, the member profile display is presented, andthe user is prompted to create the profile or update the attribute to bematched. If the user has a profile that contains an entry for theattribute to be searched, a search is initiated. Display 400 also has a“step-by-step” button 406 that takes a user to a step-by-step display,such as the one illustrated in FIGS. 5A-5C.

Generally, step-by-step display 500 provides more detailed informationabout the match chat feature. It has three numbered buttons 502, 504,and 506 that can be clicked, one at a time. Each click results in thedisplay of a short piece of text and an illustration 508 of the featurethat elaborates on the text. When clicked, buttons 502, 504, and 505 arehighlighted and illustration 508 changes.

FIGS. 5A-5C show one implementation of step-by-step display 500 for thecase when hobbies are matched. As shown in FIG. 5A, button 502 (number1) has the text “Tell us your hobbies” displayed on it. When button 502is clicked, illustration 508 informs a user how to update hobbies in theuser's member profile so that the hobbies can be matched with those ofother users. Illustration 508 also provides a link 510 that takes a userto the member profile display.

Button 504 (number 2) has the text “We'll look for matches” displayed onit. When button 504 is clicked, illustration 508 changes to that shownin FIG. 5B. In FIG. 5B, illustration 508 informs a user that the user'shobbies will be used to search for other members with matching hobbiesto determine potential chat participants. Illustration 508 also informsthe user that a display will be shown when potential chat roomparticipants are identified.

Referring to FIG. 5C, button 506 (number 3) has the text “StartChatting!” displayed on it. When button 506 is clicked, illustration 508changes to that shown in FIG. 5C. In FIG. 5C, illustration 508 informsthe user that the user can start chatting with the potential chatparticipants found, can decline to chat, or can search for othermatches. Illustration 508 also has a match now button 510, whichfunctions as described above.

FIG. 6 illustrates an exemplary member profile display. Referring againto FIGS. 3A and 3B, member profile display 600 is used by a user of thechat system to create or update the user's member profile, whichcontains at least one personal attribute, such as, for example, hobbies,occupation, gender, and marital status (step 305). As shown, display 600has areas for a user to enter or indicate his or her name 602, city,state, and country 604, gender 606, marital status 608, hobbies 610,occupation 614 or a personal quote 616. In one implementation, when auser creates or updates his or her profile, the user is automaticallyopted-in to the match chat feature, unless the user indicates a desireto opt-out. The user may do so by, for example, marking the check-boxlabeled “Do not invite me to Buddy Chats with members who share myinterests” 618. In a distributed computing implementation, the profileis typically stored at server 100. However, this profile could be storedat client system 102 and transmitted to server 100 when needed.

After a user has created or updated the profile, the user can initiate arequest to identify potential chat participants (step 310). This requestmay be initiated manually by the user, for example, by pressing a “matchchat” button that can appear in any display generated by the system. Thematch chat button operates in the same way as the match now buttondescribed above with regard to details display 400. FIG. 7 illustratesan exemplary screen 700 that contains a match chat button 702.

Alternatively, the request may be initiated automatically when the usersigns on to the chat system. In one implementation, when a user signs onand has opted for the match chat feature, a determination is made as towhether the user has an entry in his or her member profile for theparticular attribute to be matched (e.g., hobbies). If not, the memberprofile display is presented, and the user is prompted to update theattribute to be matched. If the profile contains an entry for theattribute to be searched, a search is initiated.

Once the request is initiated, the chat system begins to search forpotential chat participants by comparing the member profile of therequesting user to the member profiles of other users (step 315).Potential chat participants are identified as those other users whosemember profiles have at least one personal attribute matching anattribute of the requesting user's member profile. For example, if therequesting user has indicated golf as a hobby, potential chatparticipants are those that also have indicated golf as a hobby. Toperform the search, all users who have been opted into the match chatfeature are grouped together. The attributes of the requesting user arethen compared to the attributes of each of the users grouped together. Amatch occurs when the attribute of one of the users in the group matchesan attribute of the requesting user. In some implementations, the systemcan be limited so that only one attribute (e.g., hobbies) is comparedfor each member. In other implementations, more than one attribute canbe compared. Other implementations may also support an attribute thatincludes more than one item. For example, a user's hobbies may includegolf and skiing. To ensure that the potential participants identifiedare currently on-line, the search may be limited to users who havesigned on or clicked the match chat button within a predetermined,immediately previous period of time (e.g., in the last 2 minutes).

The search continues for a predefined length of time, or until apredefined number of matches has been found, whichever occurs first.These items can be the same or different for the manual or automaticsearches. For example, in one implementation, when the request isautomatically initiated, the search continues for a maximum of theaverage session length (e.g., 60 minutes) or 12 matches, while, when thesearch is manually initiated, the search continues for a maximum of twominutes or 12 matches. These parameters may be configurable by the useror by a system administrator.

If the user manually initiated the search, a “please wait” display isdisplayed to the user during the search. An exemplary please-waitdisplay 800 is illustrated in FIG. 8. As shown, display 800 indicatesthat a search is being performed, and gives the user the ability to stopthe search using a “stop-search” button 802. Display 800 also providesan explanation 804 of why it is being shown, along with a link 806 tothe details screen (as illustrated in FIG. 4) that describes the matchchat feature. In other implementations, the please-wait display 800 canalways be shown when a search is conducted, whether the search isinitiated manually or automatically.

If potential chat participants are identified (step 320), this isindicated and a “matches-found” display is displayed (step 325). Anexemplary matches-found display 900 is illustrated in FIG. 9. Display900 indicates the number of potential chat participants and whatattribute they match. In the exemplary display 900, 12 other usersmatched the user's interest in golf (golf was entered as a hobby).Display 900 also includes a “chat now” button 904 through which the usercan cause a chat to be initiated with the potential chat participants.When the user presses button 904 to indicate that the user wants a chat(step 330), a chat room (such as the one illustrated in FIG. 2) isinitiated, and the user and the potential chat participants are joinedto the chat room (step 335). Whether the matches-found display 900 isdisplayed can also be made to depend on the number of potential chatparticipants found. For instance, it may be displayed only if three ormore potential chat participants are identified. In this case, if fewerthan three potential participants are identified, the process maycontinue as if potential chat participants have not been found (seebelow).

If the user does not wish to engage in a chat (step 330), display 900allows the user other options. The user can select (step 340), using the“new match” button 908, to have a new search conducted (step 345). Whena new match is initiated, the same attributes can be searched to try tomatch people who have just signed on or manually initiated a search, ordifferent attributes can be searched to try to get different resultsbased on a different attribute. Also, a different item of the requestinguser's attribute can be searched to get different results. For example,skiing may be searched instead of golf. The user can also use (step 350)the “don't chat” button 906 to close display 900 and dismiss the search(step 355). Lastly, the user can use (step 360) the “update” button 910to update the user's profile (step 316).

If potential chat participants cannot be identified (step 320), this isindicated and a “matches not found” display is displayed (step 370). Anexemplary matches-not-found display 1000 is illustrated in FIG. 10.Display 1000 indicates that no potential chat participants were foundfor the attribute(s) searched. As with display 900, display 1000 allowsthe user to have a new search conducted (step 345) using the new matchbutton 1008; close the screen 1000 (step 355) using the close formbutton 1006; or update his or her profile (step 316) using the updatebutton 1010. Other implementations may allow the user to search chatroom conversations performed for the attribute if no potential chatparticipants are identified. For example, a user can match all chatconversations for “golf” if no users have a hobby matching golf. Onemanner of allowing the user to perform this search of the chat roomswould be to provide a “chat search” button on the matches-not-founddisplay 1000.

Other implementations may encourage users to create profiles and use thematch chat feature. Accordingly, a “promotion” display can be presentedto those users, or at least to a percentage of those users who are notusing the match chat feature, or who do not have profiles. An exemplarypromotion display is illustrated in FIG. 11. Promotion display 1100 hastext 1102 that describes the advantages of having a member profile. Oneof the advantages listed is the match chat feature 1104, which containsa link 1106 to the match chat details display illustrated in FIG. 4.Display 1100 also has a try-it button 1108 that opens the member profilewindow. Alternatively, when a user actuates the try-it now button 1108,a determination may be made as to whether the user has a member profilethat has an entry for the particular attribute to be matched. If not,the member profile display is presented, and the user is prompted tocreate the profile or update the attribute to be matched. If the userhas a profile that contains an entry for the attribute to be matched, asearch is initiated.

In some implementations, the promotion display can allow the user toinput attributes and/or interests for a one-time search. That is,instead of having to complete a member profile, the user can inputattributes and/or interests into the promotional display and have asearch conducted without generating a member profile.

Also, the match chat button 702 can be used with, or replace, thematches-found display 900. In this case, the match chat button 702indicates that matches have been found. Such a use of the match chatbutton 702 is illustrated in FIG. 12. As shown, the match chat button702 has been modified to display the number of potential participantsidentified and the matching attribute. The match chat button 702 canthen be used in the same way as the chat-now button 904 to initiate achat with the potential participants. Match chat button 702 can also beused to promote the match chat feature if the user has opted-out of chatmatching or if the user does not have a profile. In this case, it willopen the member profile display when pressed.

Another variation includes a smaller display that can be provided when achat room is initiated. FIG. 13 illustrates an example of such a display1300. Display 1300 provides information on the present chat room, andhas a number of buttons that assist the user in performing a number oftasks. Display 1300 assists the user in performing any of the following:a) initiating a request to identify other potential chat participants;b) updating the user's member profile; or c) removing the user's memberprofile from comparisons initiated by other users. Button 1302 is anew-match button that performs the same function as button 908 (i.e.causes a request to identify other potential chat participants to beinitiated). Button 1304 closes the chat and removes the user's memberprofile from comparisons initiated by other users (i.e. automaticallyopts the user out of the match chat feature). Button 1306 helps the userupdate his or her profile by opening the member profile display 600.

Parental controls may be implemented to give parents control over withwhom their children are potentially chatting.

Other implementations may provide a buddy match feature that is moredirected to generally making users aware of others who share theirinterests, and allowing those with shared interests to communicate in anumber of ways. As described above, some service providers provide theirmembers with a number of online communication services, such as chat,instant messaging (IM), e-mail, message boards, and member directories.Thus, the chat service may be part of a larger suite of communicationservices that are offered by the service provider, and a member mayencounter and communicate with other members through these otherservices in addition to the chat service. For instance, the member mayencounter one set of members through the use of e-mail, whileencountering a different set through the use of message boards. In suchan environment, a buddy match feature may indicate those members whoshare one or more of a particular member's profile attributes as theparticular member uses the various services and encounters contactinformation for those members with shared interests.

In one implementation that enables a buddy match feature in such anenvironment, the membership profile database is additionally connectedto a different or larger set of front-end servers that provide otherservices. The matching services are performed by the membership profiledatabase, which then notifies the various front-ends of any matches andwhat attributes and/or interests have matched. The front-ends then usethis information to provide indications of the matches to a member asthe member uses the other services and encounters screen names, e-mailaddress, or other contact information of members with whom the membershares an interest.

Other implementations may be used. For example, a copy of the membershipdatabase may be included as a part of each system that handles thevarious services such as e-mail, instant messaging, and message boards,instead of using a single membership database connected to eachfront-end server. Additionally, or alternatively, a single front-endserver may provide the various services.

The process for making users aware of others who share their interestsis generally the same as the process described in FIG. 3A. In general, amember (the match recipient) may update or create a member profile. Oncethe match recipient has a member profile, a search is initiated toidentify matching members by comparing the member profile of the matchrecipient to the member profiles of other members. Matching members areother members whose member profiles have at least one personal attributematching an attribute of the match recipient's member profile. Then, asthe match recipient uses the various services, the match recipient isprovided with an indication that matching members have been identified.

Match indications, in this case, may be more or less subtle than display900 and may directly indicate matching members. For example, theindication may be a visual cue that is displayed when contactinformation (e.g., a screen name for instant messaging or an e-mailaddress) of the matching member is displayed to the match recipient. Onemanner of providing a visual cue includes highlighting or bolding amatching member's screen name or e-mail address when the screen name ore-mail address is displayed to the match recipient. Other manners ofindicating a matching member include displaying icons next to thecontact information or animating the contact information.

As an example of an indication for a matching member, FIG. 14A shows acomputer desktop 1400 with a user interface 1410 of an instant messagingclient program in which the screen name of matching members arehighlighted. Instant messaging client programs typically allow membersto communicate in real-time, usually in text form.

User interface 1410 has a box 1412 that displays the screen names 1414a-1414 e of the member's buddies. Buddies are other users of the instantmessaging program selected by the member to whom interface 1410 isdisplayed, randomcontact in this case (as indicated by the title bar ofinterface 1410). The list of buddies displayed in box 1412 of userinterface 1410 typically is referred to as the buddy list. In the buddylist, buddies are grouped together into buddy groups 1416 a-1416 c. Forexample, buddies 1414 c-1414 e are displayed under buddy group 1416 c.When a buddy's IM client program is available to receive communications(i.e., a state commonly referred to as “present”), the screen name ofthe buddy in the buddy list is displayed or visually distinguished fromother buddies not presently available to receive communications orotherwise not having an equivalent state. For example, in the interfaceshown by FIG. 14A, the buddy whose screen name is “randomcontact2” 1414a is part of the Buddies buddy group 1416 a and, consequently, thescreen name 1414 a is listed under the Buddies buddy group 1416 a. Therandomcontact2 screen name 1414 a, the Boss screen name 1414 b, and thescreen names Mom, Dad, and Brother 1414 c-1414 e all are displayed undertheir corresponding buddy groups to illustrate their presence andavailability to receive communications, which distinguishes these screennames from screen names not shown, but listed under the Offline buddygroup. Similarly, the groups having present screen names (e.g., 1416a-1416 c) are visually distinguished from the group(s) not having screennames present, for example, the Offline group. Using the buddy list, auser can select a buddy and initiate real-time communications with theselected buddy.

To indicate that a buddy also is a matching member, the screen name ofthe buddy is highlighted or otherwise visually distinguished from screennames of non-matching members within interface 1410. As shown in theexemplary interface 1410, the buddy whose screen name is randomcontactis a matching member and the screen name is highlighted accordingly.

Referring to FIG. 14B, in one implementation, the match recipient mayobtain more information about the matching member by performing anaction (e.g. using a cursor to select the screen name) that causes adialog box 1420 to be displayed. Dialog box 1420 provides informationabout the matching attribute so that the match recipient will know whatinterest(s) he or she has in common with the matching member. Dialog box1420 also allows the match recipient to initiate communications with thematching member.

To provide information about the matching attributes, dialog box 1420includes a list box that displays the shared interests 1422 a (i.e., theinterests that are shared between the match recipient and matchingmember). In the exemplary dialog box 1420 shown, the list box indicatesthat randomcontact and randomcontact2 share an interest in basketball.List box 1422 also displays the other interests 1422 b of the matchingmember.

To initiate communications with the matching member, dialog box 1420includes a communication area 1424 that has buttons 1424 a and 1424 b.Selecting button 1424 a initiates an e-mail communication with thematching member, while selecting button 1424 b initiates an instantmessage with the matching member.

The member profile of the matching member may be shown by selectingbutton 1426. The displayed member profile may show some or all of theinformation described with respect to FIG. 6.

Referring to FIG. 14C, in another implementation, matching members areindicated by icons displayed next to the matching members' screen names.As shown, an icon 1418 a is displayed next to the screen name 1414 a,indicating that randomcontact2 is a matching member. Likewise, an icon1418 b is displayed next to screen name Dad 1414 d, indicating that Dadalso is a matching member. Icons 1418 a and 1418 b are different iconsand each indicates the particular matching interest or attribute. Forinstance, icon 1418 a indicates that randomcontact and randomcontact2share an interest in soccer, while icon 1418 b indicates thatrandomcontact and Dad share an interest in BMW® cars.

More than one icon may be displayed next to the screen name to indicatemultiple matching attributes and what those attributes are. In addition,icons can indicate general matching attributes, or be more specific,depending on the matching attribute. For example, if members havematching attributes related to sports, an icon that indicates a generalinterest in sports may be used, or icons may be used to indicate thespecific type of sport, or even a specific sports team. As a morespecific example, if randomcontact and randomcontact2 are bothinterested in football, but each likes separate teams, then an iconindicating a general interest in football may be used. If, on the otherhand, randomcontact and randomcontact2 both were fans of the samefootball team, then an icon indicating the football team may be used toindicate they share an interest in the same team.

Icons also can be placed next to intermediate members to indicate theinterests of the corresponding matching member.

FIG. 14D shows yet another manner of indicating a matching member. Inthis implementation, the buddy list of an instant messaging programinterface 1410 is modified to include a Matching Members buddy group1416 d. When a matching member is located, the matching member's screenname is displayed under the Matching Member buddy group 1416 d. In theexample shown, InternetAnn is a matching member and, consequently, thescreen name InternetAnn 1414 f is listed under the Matching Membersgroup 1416 d. More than one buddy group can be displayed to indicate orvisually distinguish members who match different interests or subgroupsmay be provided for the same person. For example, “MatchingMembers-Soccer” may be added as a group or subgroup when a matchingmember is determined based on the attribute soccer.

As another example of a service or application in which an indication ofa matching member is provided, FIG. 15 is an illustration showing anexemplary screen display 1500 of a chat room in which a matchingmember's screen name is indicated by highlighting. Screen display 1500is similar to screen display 200 and includes an edit box 1502 to entertext, a scrolling window 1508 to display the conversation 1504, and awindow 1506 in which participating members' screen names are listed. Toindicate that a participating member also is a matching member, thescreen name of the participating member has a highlight behind thescreen name listed in window 1506.

As shown in the exemplary screen display 1500, the member whose screenname is DVoe716 is a matching member and the screen name is highlightedaccordingly. As with the display described in FIGS. 14A and 14B, adialog box (not shown) may be displayed to provide more informationabout the matching member. The dialog box may be displayed in responseto the match recipient performing an action on the indication, such asusing a cursor to select the screen name in window 1506.

While specific examples of match indications have been illustrated withrespect to instant messaging and chat, in general, a matching member maybe indicated in any service in which contact information for thematching member is displayed to the match recipient. When the contactinformation of a matching member is displayed in a user interface forthe communication service, the contact information is accompanied by anindication that the contact information belongs to a matching member.Examples of services other than IM and chat rooms in which matchindications may be provided include e-mail and message boards. Fore-mail, a display of e-mails in a match recipient's mailbox may indicatee-mail addresses that belong to matching members. A display of e-mailheaders also may indicate e-mail addresses that belong to matchingmembers. Indications of matches also may be displayed in a matchrecipient's address book. For message boards, posts may have indicationsfor screen names belonging to matching members that are included in theposts. Indications of matching members may be pervasive throughout allor most of the provided services in which a match recipient mayencounter contact information for the matching member.

The buddy match feature may include a “connected match” feature. Aconnected match occurs when a match recipient and a matching member areconnected by a third member (the intermediary member). An intermediarymember connects a match recipient and a matching member when a personal,business, or other relationship exists between the intermediary memberand the match recipient and between the intermediary member and thematching member. When a connected match occurs, the intermediary memberis indicated to the match recipient. This allows the match recipient tocontact the matching member through the intermediary member. Thus, theintermediary member may act as an intermediary that facilitates contactbetween the match recipient and matching member, particularly when thematch recipient and matching member do not have any relationship withone another.

FIG. 16 is a flow chart illustrating a process 1600 that implements theconnected match feature for a match recipient. A search for matchingmembers is performed (1605) by comparing the member profile of the matchrecipient to the member profiles of other members (1605). Matchingmembers are identified if their member profiles have at least onepersonal attribute matching an attribute of the requesting user's memberprofile. For example, if the requesting user has indicated golf as ahobby, matching members are those that also have indicated golf as ahobby. Search 1605 may be performed similarly to search 315.

As with search 315, search 1605 may continue for a predefined length oftime, or until a predefined number of matches has been found, whicheveroccurs first. The predefined number of matches may be defined as allmatches such that all matching members are identified.

If no matches are found (1610), process 1600 ends (1615). However, if amatching member is identified (1610), then potential intermediarymembers are determined (1620). Alternatively, potential intermediarymembers may have been identified previously, for example, before thesearch was conducted or at the same time as the search.

Potential intermediary members are other members who have a personal,business or other relationship with the match recipient. Whether amember has a relationship with the match recipient may be determined byexamining a contact list (e.g., a buddy list or address book) of thematch recipient or potential intermediary member. A relationship may bedeemed to exist when contact information (e.g., a screen name or e-mailaddress) of the potential intermediary member is listed in a contactlist of the match recipient or vice versa.

In one implementation, potential intermediary members are limited tothose members who are listed in a contact list of the match recipient.This may help to insure that any intermediary members will be indicatedto the match recipient because a match recipient is likely to view thecontact list that includes the intermediary member's contactinformation.

Next, a determination (1625) is made as to whether any of the potentialintermediaries are actual intermediary members, i.e. whether a potentialintermediary connects the match recipient to the matching member. Apotential intermediary connects the match recipient to the matchingmember when the potential intermediary member also has a personal,business or other relationship with the matching member. Whether thepotential intermediary member has a relationship with the matchingmember may be determined by examining a contact list (e.g., a buddy listor address book) of the potential intermediary member or the matchingmember. A relationship may be deemed to exist when contact information(e.g., a screen name or e-mail address) of the matching member is listedin a contact list of the potential intermediary member or vice versa.

If none of the potential intermediary members connect the matchrecipient and matching member (1625), then an indication is providedonly for the matching member (1630), as described above. If any of thepotential intermediary members do connect the match recipient andmatching member (1625), then an indication is provided for both thematching member and any intermediary members (1635). Alternatively, theindication may be limited to just the intermediary member. Theindication for an intermediary member may be similar to that for amatching member. For example, the screen name, e-mail, or other contactinformation of the intermediary member may be highlighted whendisplayed. The highlighting may be a different color from thehighlighting for a matching member in order to distinguish the two. Aswith the indication of matching members, indications of intermediarymembers may be pervasive throughout all or most of the provided servicesin which a match recipient may encounter contact information for anintermediary member.

Depending on the techniques used to indicate a matching member and anintermediary member, it may not be possible to indicate when a member isboth a matching member and an intermediary member. If this is the case,then the indication may be limited to only indicating the matchingmember status. When the indication is so limited, those members who havea relationship with the match recipient, but who are also matchingmembers of the match recipient, may be excluded as potentialintermediary members. In other words, because only a member's status asa matching member is going to be displayed, regardless of whether themember is an intermediary member or not, the member does not need to bechecked to determine whether the member is an intermediary member.

Also, in process 1600, intermediary members are determined sequentiallyafter matching members. However, other implementations may haveintermediary members being identified in parallel with matching members.

FIG. 17 is an illustration showing an exemplary relationship between amatch recipient, an intermediary member, and a matching member, whileFIGS. 18A and 18B show an example of a corresponding indication of theintermediary member to the match recipient. Referring to FIG. 17, amatch recipient 1710 has a screen name “randomcontact” and shares golfas a hobby with a matching member 1730, whose screen name isInternetAnn. An intermediary member 1720, whose screen name israndomcontact2, is on randomcontact's buddy list. InternetAnn is onrandomcontact2's buddy list.

FIG. 18A is an illustration showing a computer desktop 1800 with a userinterface 1810 of an instant messaging client program in which thescreen name of intermediary members are highlighted. The instantmessaging client program is being used by randomcontact. A search wasperformed to determine matching members for randomcontact. The searchresulted in InternetAnn being identified as a matching member becauseshe shares golf as a hobby with randomcontact.

After InternetAnn was identified as a matching member, randomcontact2was identified as a potential intermediary member because randomcontact2is on randomcontact's buddy list. Randomcontact2's buddy list was thenchecked to determine if InternetAnn was on the buddy list. BecauseInternetAnn was on randomcontact's buddy list, randomcontact2 isdesignated as an intermediary member.

To indicate that randomcontact2 is an intermediary member, the screenname 1814 a (i.e., randomcontact2) has an highlight. Referring to FIG.18B, randomcontact may obtain more information about why randomcontact2has been identified as an intermediary member by performing an action(e.g. using a cursor to select the screen name) that causes a dialog box1820 to be displayed. Dialog box 1820 is similar to dialog box 1420.Dialog box 1820 displays randomcontact2's interests 1822 b, allowsrandomcontact to initiate communications with randomcontact usingbuttons 1824 a and 1824 b, and provides a button 1826 to display themember profile of randomcontact2.

Under the shared interests 1822 a, however, dialog box 1820 indicatesthat randomcontact2 connects randomcontact to InternetAnn becauseInternetAnn shares an interest with randomcontact. The screen nameInternetAnn in the shared interests 1822 a is link to a dialog box (notshown), which is similar to dialog box 1820 except that the dialog boxshows the shared interests between InternetAnn and randomcontact, showsInternetAnn's other interests, and allows randomcontact to initiatecommunications with InternetAnn, rather than randomcontact2. SelectingInternetAnn's screen name in dialog box 1820 invokes the linked dialogbox.

Referring to FIG. 18C, an alternate manner of displaying an indicationof an intermediary member includes modifying the buddy list to show atree structure of matching members and the intermediary members. As withthe example illustrated in FIGS. 18 a and 18B, the instant messagingclient program in FIG. 18C is being used by randomcontact. A search wasperformed to determine matching members for randomcontact. The searchresulted in InternetAnn being identified as a matching member andrandomcontact2 as an intermediary member.

To indicate the matching member and intermediary member relationships,the screen names randomcontact2 1814 a and InternetAnn 1814 e aredisplayed in a tree structure under the Buddy group 1816 a. The treestructure is created by displaying the randomcontact2 screen name 1814 aindented under the Buddy group 1816 a and the InternetAnn screen name1814 e indented under the randomcontact2 screen name 1814 a. Thisstructure indicates that randomcontact2 is an intermediary member whoconnects randomcontact to the matching member, InternetAnn. A user caninitiate an instant messaging session with either randomcontact2 orInternetAnn, for example, by selecting the respective screen name.

FIG. 19 is a flow chart showing an alternate process 1900 fordetermining matching members. One or more contact lists of a user areaccessed to determine direct contacts of the match recipient (referredto as zero degree contacts) (1905). The member profiles of the zerodegree contacts are compared to the member profile of the matchrecipient to determine if any of the direct contacts are matchingmembers (1910). At the same time (or before or after) the determination(1910) is made, one or more contact lists of the zero degree contactsare accessed to determine direct contacts of the zero degree contacts(referred to as first degree contacts) (1915). The member profiles ofthe first degree contacts are compared to the member profile of thematch recipient to determine if any of the first degree contacts arematching members (1920). An indication then is provided for any matchingmembers located (1925).

Process 1900 can be expanded to search up to the Nth degree contacts formatching members. That is, the direct contacts of the first degreecontacts (the second degree contacts) can be determined and searched,along with the third degree contacts, etc, up to the N degree contacts.In addition, process 1900 may keep track of the intermediary members andan indication of any intermediary members also may be provided. Further,process 1900 may be modified such that only contacts of matching membersare searched for the next degree contacts. For example, only the contactlists of matching members in the zero degree contacts are accessed todetermine first degree contacts.

The techniques described above are not limited to any particularhardware or software configuration. Rather, they may be implementedusing hardware, software, or a combination of both. The methods andprocesses described may be implemented as computer programs that areexecuted on programmable computers comprising at least one processor andat least one data storage system. The programs may be implemented in ahigh-level programming language and may also be implemented in assemblyor other lower level languages, if desired.

Any such program will typically be stored on a computer-usable storagemedium or device (e.g., CD-Rom, RAM, or magnetic disk). When read intothe processor of the computer and executed, the instructions of theprogram cause the programmable computer to carry out the variousoperations described above.

Other implementations are within the scope of the following claims.

1. A method of identifying one or more matching members for a matchrecipient, the method comprising: maintaining a member profile for thematch recipient, the member profile comprising at least one personalattribute; comparing the match recipient's member profile to othermember profiles to identify at least one matching member, wherein thematching member is a user whose member profile has at least oneattribute matching an attribute of the match recipient's member profile;causing contact information for the matching member to be displayed tothe match recipient in a user interface for an online communicationservice; and causing the displayed contact information to be accompaniedby an indication that the displayed contact information belongs to amatching member.
 2. The method of claim 1 wherein the contactinformation comprises a screen name.
 3. The method of claim 2 whereincausing the screen name for the matching member to be displayed in auser interface for an online communication service comprises causing thescreen name to be displayed in a buddy list of an instant messagingclient.
 4. The method of claim 3 wherein the indication comprises acolored highlight displayed behind the matching member's screen name. 5.The method of claim 2 wherein causing the screen name for the matchingmember to be displayed in a user interface for an online communicationservice comprises causing the screen name to be displayed in a post on amessage board.
 6. The method of claim 5 wherein the indication comprisesa colored highlight displayed behind the matching member's screen name.7. The method of claim 1 wherein the contact information comprises ane-mail address.
 8. The method of claim 7 wherein causing the e-mailaddress for the matching member to be displayed in a user interface ofan online communication service comprises causing the e-mail address tobe displayed in an e-mail mailbox of the match recipient.
 9. The methodof claim 8 wherein the indication comprises a colored highlightdisplayed behind the matching member's e-mail address.
 10. The method ofclaim 7 wherein causing the e-mail address for the matching member to bedisplayed in a user interface of an online communication servicecomprises causing the e-mail address to be displayed in an e-mail headerdisplayed to the match recipient.
 11. The method of claim 10 wherein theindication comprises a colored highlight displayed behind the matchingmember's e-mail address.
 12. The method of claim 1 wherein the at leastone personal attribute comprises hobbies.
 13. The method of claim 1further comprising: identifying an intermediary member, wherein anintermediary member is a user that connects the match recipient to thematching member; and causing contact information for the intermediarymember to be displayed to the match recipient along with an indicationthat the contact information belongs to an intermediary member.
 14. Themethod of claim 13 wherein identifying an intermediary member comprises:identifying a user whose contact information is in a contact list of thematch recipient; and determining whether contact information of thematching member is in a contact list of the user whose contactinformation is in a contact list of the match recipient designating theuser as an intermediary member when the matching member's contactinformation is in a contact list of the user.
 15. A method ofidentifying one or more matching members for a match recipient, themethod comprising: maintaining a member profile for the match recipient,the member profile comprising at least one personal attribute; comparingthe match recipient's member profile to other member profiles toidentify at least one matching member, wherein the matching member is auser whose member profile has at least one attribute matching anattribute of the match recipient's member profile; identifying anintermediary member, wherein an intermediary member is a user thatconnects the match recipient to the matching member; and providing thematch recipient with an indication that the intermediary member has beenidentified.
 16. The method of claim 15 wherein identifying anintermediary member comprises identifying a user whose contactinformation is in a contact list of the match recipient.
 17. The methodof claim 16 wherein identifying an intermediary member furthercomprises: determining whether contact information of the matchingmember is in a contact list of the user whose contact information is ina contact list of the match recipient; and designating the user as anintermediary member when the matching member's contact information is ina contact list of the user.
 18. The method of claim 15 wherein providingthe match recipient with an indication comprises causing contactinformation for the intermediary member to be displayed to the matchrecipient along with an indication that the contact information belongsto an intermediary member.
 19. The method of claim 18 wherein thecontact information comprises a screen name.
 20. The method of claim 19wherein causing the screen name for the intermediary member to bedisplayed along with an indication comprises causing the screen name tobe displayed in a buddy list of an instant messaging client programalong with an indication that the screen name belongs to an intermediarymember.
 21. The method of claim 20 wherein the indication comprises acolored highlight displayed behind the intermediary member's screenname.
 22. The method of claim 19 wherein causing the screen name for theintermediary member to be displayed along with an indication comprisescausing the screen name to be displayed in a post on a message boardalong with an indication that the screen name belongs to an intermediarymember.
 23. The method of claim 22 wherein the indication comprises acolored highlight displayed behind the intermediary member's screenname.
 24. The method of claim 18 wherein the contact informationcomprises an e-mail address.
 25. The method of claim 24 wherein causingthe e-mail address for the intermediary member to be displayed alongwith an indication comprises causing the e-mail address to be displayedin an e-mail mailbox of the match recipient along with an indicationthat the e-mail address belongs to an intermediary member.
 26. Themethod of claim 25 wherein the indication comprises a colored highlightdisplayed behind the intermediary member's e-mail address.
 27. Themethod of claim 24 wherein causing the e-mail address for theintermediary member to be displayed along with an indication comprisescausing the e-mail address to be displayed in an e-mail header displayedto the match recipient along with an indication that the e-mail addressbelongs to an intermediary member.
 28. The method of claim 27 whereinthe indication comprises a colored highlight displayed behind thematching member's e-mail address.
 29. The method of claim 15 wherein theat least one personal attribute comprises hobbies.
 30. A computer-usablemedium storing a computer program for identifying one or more matchingmembers for a match recipient, the computer program comprisinginstructions for causing a computer to: maintain a member profile forthe match recipient, the member profile comprising at least one personalattribute; compare the match recipient's member profile to other memberprofiles to identify at least one matching member, wherein the matchingmember is a user whose member profile has at least one attributematching an attribute of the match recipient's member profile; causecontact information for the matching member to be displayed to the matchrecipient in a user interface for an online communication service; andcause the displayed contact information to be accompanied by anindication that the displayed contact information belongs to a matchingmember.
 31. The medium of claim 30 wherein the contact informationcomprises a screen name.
 32. The medium of claim 31 wherein, to causethe screen name for the matching member to be displayed in a userinterface for an online communication service, the computer programfurther comprises instructions for causing a computer to cause thescreen name to be displayed in a buddy list of an instant messagingclient.
 33. The medium of claim 32 wherein the indication comprises acolored highlight displayed behind the matching member's screen name.34. The medium of claim 31 wherein, to cause the screen name for thematching member to be displayed in a user interface for an onlinecommunication service, the computer program further comprisesinstructions for causing a computer to cause the screen name to bedisplayed in a post on a message board.
 35. The medium of claim 34wherein the indication comprises a colored highlight displayed behindthe matching member's screen name.
 36. The medium of claim 30 whereinthe contact information comprises an e-mail address.
 37. The medium ofclaim 36 wherein, to cause the e-mail address for the matching member tobe displayed in a user interface of an online communication service, thecomputer program further comprises instructions for causing a computerto cause the e-mail address to be displayed in an e-mail mailbox of thematch recipient.
 38. The medium of claim 37 wherein the indicationcomprises a colored highlight displayed behind the matching member'se-mail address.
 39. The medium of claim 36 wherein, to cause the e-mailaddress for the matching member to be displayed in a user interface ofan online communication service, the computer program further comprisesinstructions for causing a computer to cause the e-mail address to bedisplayed in an e-mail header displayed to the match recipient.
 40. Themethod of claim 39 wherein the indication comprises a colored highlightdisplayed behind the matching member's e-mail address.
 41. The medium ofclaim 30 wherein the at least one personal attribute comprises hobbies.42. The medium of claim 30, wherein the computer program furthercomprises instructions for causing a computer to: identify anintermediary member, wherein an intermediary member is a user thatconnects the match recipient to the matching member; and cause contactinformation for the intermediary member to be displayed to the matchrecipient along with an indication that the contact information belongsto an intermediary member.
 43. The medium of claim 42 wherein, toidentify an intermediary member, the computer program further comprisesinstructions for causing a computer to: identify a user whose contactinformation is in a contact list of the match recipient; and determinewhether contact information of the matching member is in a contact listof the user whose contact information is in a contact list of the matchrecipient designate the user as an intermediary member when the matchingmember's contact information is in a contact list of the user.
 44. Acomputer-usable medium storing a computer program for identifying one ormore matching members for a match recipient, the computer programcomprising instructions for causing a computer to: maintain a memberprofile for the match recipient, the member profile comprising at leastone personal attribute; compare the match recipient's member profile toother member profiles to identify at least one matching member, whereinthe matching member is a user whose member profile has at least oneattribute matching an attribute of the match recipient's member profile;identify an intermediary member, wherein an intermediary member is auser that connects the match recipient to the matching member; andprovide the match recipient with an indication that the intermediarymember has been identified.
 45. The medium of claim 44 wherein, toidentify an intermediary member, the computer program further comprisesinstructions for causing a computer to identify a user whose contactinformation is in a contact list of the match recipient.
 46. The mediumof claim 45 wherein, to identify an intermediary member further, thecomputer program further comprises instructions for causing a computerto: determine whether contact information of the matching member is in acontact list of the user whose contact information is in a contact listof the match recipient; and designate the user as an intermediary memberwhen the matching member's contact information is in a contact list ofthe user.
 47. The medium of claim 44 wherein, to provide the matchrecipient with an indication, the computer program further comprisesinstructions for causing a computer to cause contact information for theintermediary member to be displayed to the match recipient along with anindication that the contact information belongs to an intermediarymember.
 48. The medium of claim 47 wherein the contact informationcomprises a screen name.
 49. The medium of claim 48 wherein, to causethe screen name for the intermediary member to be displayed along withan indication, the computer program further comprises instructions forcausing a computer to cause the screen name to be displayed in a buddylist of an instant messaging client program along with an indicationthat the screen name belongs to an intermediary member.
 50. The mediumof claim 49 wherein the indication comprises a colored highlightdisplayed behind the intermediary member's screen name.
 51. The mediumof claim 48 wherein, to cause the screen name for the intermediarymember to be displayed along with an indication, the computer programfurther comprises instructions for causing a computer to cause thescreen name to be displayed in a post on a message board along with anindication that the screen name belongs to an intermediary member. 52.The medium of claim 51 wherein the indication comprises a coloredhighlight displayed behind the intermediary member's screen name. 53.The medium of claim 47 wherein the contact information comprises ane-mail address.
 54. The medium of claim 53 wherein, to cause the e-mailaddress for the intermediary member to be displayed along with anindication, the computer program further comprises instructions forcausing a computer to cause the e-mail address to be displayed in ane-mail mailbox of the match recipient along with an indication that thee-mail address belongs to an intermediary member.
 55. The medium ofclaim 54 wherein the indication comprises a colored highlight displayedbehind the intermediary member's e-mail address.
 56. The medium of claim53 wherein, to cause the e-mail address for the intermediary member tobe displayed along with an indication, the computer program furthercomprises instructions for causing a computer to cause the e-mailaddress to be displayed in an e-mail header displayed to the matchrecipient along with an indication that the e-mail address belongs to anintermediary member.
 57. The medium of claim 56 wherein the indicationcomprises a colored highlight displayed behind the matching member'se-mail address.
 58. The medium of claim 44 wherein the at least onepersonal attribute comprises hobbies.
 59. An apparatus for identifyingone or more matching members for a match recipient, the apparatuscomprising: means for maintaining a member profile for the matchrecipient, the member profile comprising at least one personalattribute; means for comparing the match recipient's member profile toother member profiles to identify at least one matching member, whereinthe matching member is a user whose member profile has at least oneattribute matching an attribute of the match recipient's member profile;means for causing contact information for the matching member to bedisplayed to the match recipient in a user interface for an onlinecommunication service; and means for causing the displayed contactinformation to be accompanied by an indication that the displayedcontact information belongs to a matching member.
 60. The apparatus ofclaim 59 wherein the contact information comprises a screen name. 61.The apparatus of claim 60 wherein the means for causing the screen namefor the matching member to be displayed in a user interface for anonline communication service comprises means for causing the screen nameto be displayed in a buddy list of an instant messaging client.
 62. Theapparatus of claim 60 wherein the means for causing the screen name forthe matching member to be displayed in a user interface for an onlinecommunication service comprises means for causing the screen name to bedisplayed in a post on a message board.
 63. The apparatus of claim 59wherein the contact information comprises an e-mail address.
 64. Theapparatus of claim 63 wherein the means for causing the e-mail addressfor the matching member to be displayed in a user interface of an onlinecommunication service comprises means for causing the e-mail address tobe displayed in an e-mail mailbox of the match recipient.
 65. Theapparatus of claim 63 wherein the means for causing the e-mail addressfor the matching member to be displayed in a user interface of an onlinecommunication service comprises means for causing the e-mail address tobe displayed in an e-mail header displayed to the match recipient. 66.An apparatus for identifying one or more matching members for a matchrecipient, the apparatus comprising: means for maintaining a memberprofile for the match recipient, the member profile comprising at leastone personal attribute; means for comparing the match recipient's memberprofile to other member profiles to identify at least one matchingmember, wherein the matching member is a user whose member profile hasat least one attribute matching an attribute of the match recipient'smember profile; means for identifying an intermediary member, wherein anintermediary member is a user that connects the match recipient to thematching member; and means for providing the match recipient with anindication that the intermediary member has been identified.
 67. Theapparatus of claim 66 wherein the means for identifying an intermediarymember comprises means for identifying a user whose contact informationis in a contact list of the match recipient.
 68. The apparatus of claim67 wherein the means for identifying an intermediary member furthercomprises: means for determining whether contact information of thematching member is in a contact list of the user whose contactinformation is in a contact list of the match recipient; and means fordesignating the user as an intermediary member when the matchingmember's contact information is in a contact list of the user.